CREATE TABLE [dbo].[PackageMain]
(
[PackageKey] [uniqueidentifier] NOT NULL,
[Name] [nvarchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Description] [nvarchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[ExpirationDate] [datetime] NULL,
[PackageMessageKey] [uniqueidentifier] NULL,
[OutputMethodKey] [uniqueidentifier] NULL,
[Cost] [decimal] (18, 4) NOT NULL CONSTRAINT [DF_PackageMain_Cost] DEFAULT ((0)),
[PackageStatusCode] [int] NOT NULL CONSTRAINT [DF_PackageMain_PackageStatusCode] DEFAULT ((0)),
[UpdatedOn] [datetime] NOT NULL CONSTRAINT [DF_PackageMain_UpdatedOn] DEFAULT (getdate()),
[UpdatedByUserKey] [uniqueidentifier] NOT NULL,
[CreatedByUserKey] [uniqueidentifier] NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[SystemEntityKey] [uniqueidentifier] NOT NULL,
[MarkedForDeleteOn] [datetime] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PackageMain] ADD CONSTRAINT [PK_PackageMain] PRIMARY KEY CLUSTERED ([PackageKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_PackageMain_CreatedByUserKey] ON [dbo].[PackageMain] ([CreatedByUserKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_PackageMain_PackageStatusCode] ON [dbo].[PackageMain] ([PackageStatusCode]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_PackageMain_SystemEntityKey] ON [dbo].[PackageMain] ([SystemEntityKey]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [IX_PackageMain_UpdatedByUserKey] ON [dbo].[PackageMain] ([UpdatedByUserKey]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[PackageMain] ADD CONSTRAINT [FK_PackageMain_PackageStatus] FOREIGN KEY ([PackageStatusCode]) REFERENCES [dbo].[PackageStatusRef] ([PackageStatusCode])
GO
ALTER TABLE [dbo].[PackageMain] ADD CONSTRAINT [FK_PackageMain_SystemEntity] FOREIGN KEY ([SystemEntityKey]) REFERENCES [dbo].[SystemEntity] ([SystemEntityKey])
GO
ALTER TABLE [dbo].[PackageMain] ADD CONSTRAINT [FK_PackageMain_UniformRegistry] FOREIGN KEY ([PackageKey]) REFERENCES [dbo].[UniformRegistry] ([UniformKey])
GO
ALTER TABLE [dbo].[PackageMain] ADD CONSTRAINT [FK_PackageMain_UserMain_CreatedBy] FOREIGN KEY ([CreatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO
ALTER TABLE [dbo].[PackageMain] ADD CONSTRAINT [FK_PackageMain_UserMain_UpdatedBy] FOREIGN KEY ([UpdatedByUserKey]) REFERENCES [dbo].[UserMain] ([UserKey])
GO